/* --------------------------------------------------------------
 *                     Text Field Restriction  
 * -------------------------------------------------------------- */

/**
 * The maximum length for the expert name.
 * @type {number}
 */
export const EXPERT_NAME_MAX_LEN = 10;

/**
 * The maximum length for the expert post.
 * @type {number}
 */
export const EXPERT_POST_MAX_LEN = 10;

/**
 * The maximum length for the expert department.
 * @type {number}
 */
export const EXPERT_DEPARTMENT_MAX_LEN = 10;

/**
 * The maximum length for the expert telephone.
 * @type {number}
 */
export const EXPERT_TELEPHONE = 11;

/* --------------------------------------------------------------
 *                           Token Store
 * -------------------------------------------------------------- */

/**
 * The key used to store the token in local storage.
 * @type {string}
 */
export const TOKEN_KEY = "user_token";

/* --------------------------------------------------------------
 *                        API Configuration
 * -------------------------------------------------------------- */

/**
 * Timeout for the API requests in milliseconds.
 * @type {number}
 */
export const TIMEOUT = 10000;


/**
 * Base URL for the API requests.
 * @type {string}
 */
export const BASE_URL = 'https://apifoxmock.com/m1/5720149-0-default/yydf/api/v1/';

/* --------------------------------------------------------------
 *                        Page Constants
 * -------------------------------------------------------------- */

/**
 * Default pagination settings for the table.
 * @type {object}
 */
export const DEFAULT_PAGINATION = {
    currentPage: 1,
    pageSize: 10,
    total: 4,
};

/* --------------------------------------------------------------
 *                        Appointment Status
 * -------------------------------------------------------------- */

/**
 * Appointment status options.
 * @type {object}
 */
export const APPOINTMENT_STATUS = {
    审核中: 0,
    失败: 1,
    成功: 2,
}

/* --------------------------------------------------------------
 *                         Time Constants
 * -------------------------------------------------------------- */

/**
 * Milliseconds in one hour.
 * @type {number}
 */
const MILLISECONDS_IN_HOUR = 3600 * 1000;

/**
 * Milliseconds in one day.
 * @type {number}
 */
export const MILLISECONDS_IN_DAY = MILLISECONDS_IN_HOUR * 24;

/**
 * Milliseconds in one week (7 days).
 * @type {number}
 */
export const MILLISECONDS_IN_WEEK = MILLISECONDS_IN_DAY * 7;

/**
 * Milliseconds in one month (30 days).
 * @type {number}
 */
export const MILLISECONDS_IN_MONTH = MILLISECONDS_IN_DAY * 30;

/**
 * Milliseconds in three months (90 days).
 * @type {number}
 */
export const MILLISECONDS_IN_THREE_MONTHS = MILLISECONDS_IN_DAY * 90;

/* --------------------------------------------------------------
 *                          Virtual Data
 * -------------------------------------------------------------- */

/**
 * Mocked data for the expert table.
 * @type {Array}
 */
export const EXPERT_TABLE_DATA = [
    {
        id: 1,
        name: "张三",
        department: "技术部",
        post: "工程师",
        telephone: "12345678901",
        createTime: "2023-03-27",
        updateTime: "2023-03-27",
        enable: true,
    },
    {
        id: 2,
        name: "李四",
        department: "测试部",
        post: "测试员",
        telephone: "12345678901",
        createTime: "2023-03-27",
        updateTime: "2023-03-27",
        enable: true,
    },
    {
        id: 3,
        name: "王五",
        department: "测试部",
        post: "测试员",
        telephone: "12345678901",
        createTime: "2023-03-27",
        updateTime: "2023-03-27",
        enable: true,
    },
    {
        id: 4,
        name: "陈六",
        department: "测试部",
        post: "测试员",
        telephone: "12345678901",
        createTime: "2023-03-27",
        updateTime: "2023-03-27",
        enable: true,
    },
];

/**
 * Mocked data for the visitor table.
 * @type {Array}
 */
export const VISITOR_TABLE_DATA = [
    {
        id: '71323472074',
        userName: '劍泄粁',
        status: 0,
        createTime: '2005 - 12 - 25T18: 30:00.146Z',
        updateTime: '2024 - 12-04T18: 34: 30.018Z',
        appointmentTime: '2013-03 - 31T13: 46: 53.686Z',
        appointmentContent: '潺屷缵唊構樁犽歠吿両敋批坙克夔挑眔浽复慐硨戻埚仃姜昄斘狪告熂',
        userId: '20040126457',
        userTel: '12105206231',
        userSfz: '487317582825065140',
        userUnite: '光埥祘怚杝',
        professorId: '48404838816',
        professorName: '攱盝撻',
        isDel: 0,
        type: '审核中'
    },
];

/**
 * Mocked data for the statistics table.
 * @type {Array}
 */
export const STATISTICS_DATA = {
    // 2025年1月
    date_1: "2025-01-01", subscribe_1: 100,
    date_2: "2025-01-02", subscribe_2: 150,
    date_3: "2025-01-03", subscribe_3: 120,
    date_4: "2025-01-04", subscribe_4: 110,
    date_5: "2025-01-05", subscribe_5: 130,
    date_6: "2025-01-06", subscribe_6: 125,
    date_7: "2025-01-07", subscribe_7: 115,
    date_8: "2025-01-08", subscribe_8: 140,
    date_9: "2025-01-09", subscribe_9: 135,
    date_10: "2025-01-10", subscribe_10: 145,
    date_11: "2025-01-11", subscribe_11: 160,
    date_12: "2025-01-12", subscribe_12: 155,
    date_13: "2025-01-13", subscribe_13: 165,
    date_14: "2025-01-14", subscribe_14: 170,
    date_15: "2025-01-15", subscribe_15: 180,
    date_16: "2025-01-16", subscribe_16: 175,
    date_17: "2025-01-17", subscribe_17: 190,
    date_18: "2025-01-18", subscribe_18: 200,
    date_19: "2025-01-19", subscribe_19: 210,
    date_20: "2025-01-20", subscribe_20: 220,
    date_21: "2025-01-21", subscribe_21: 215,
    date_22: "2025-01-22", subscribe_22: 230,
    date_23: "2025-01-23", subscribe_23: 240,
    date_24: "2025-01-24", subscribe_24: 250,
    date_25: "2025-01-25", subscribe_25: 260,
    date_26: "2025-01-26", subscribe_26: 255,
    date_27: "2025-01-27", subscribe_27: 270,
    date_28: "2025-01-28", subscribe_28: 280,
    date_29: "2025-01-29", subscribe_29: 290,
    date_30: "2025-01-30", subscribe_30: 300,
    date_31: "2025-01-31", subscribe_31: 310,
};
